<?php
/**
 * Created by PhpStorm.
 * User: zhu_hbo
 * Date: 16/10/9
 * Time: 上午9:52
 */

/*
 * 有八个魔术常量它们的值随着它们在代码中的位置改变而改变。
 * 这些特殊的常量不区分大小写
 */
//文件中的当前行号。
echo __LINE__;
echo "<p>";
echo __line__;
echo "<p>";

//文件的完整路径和文件名。如果用在被包含文件中，则返回被包含的文件名。
echo __FILE__;
echo "<p>";
echo $_SERVER["PHP_SELF"];
echo "<p>";
echo __METHOD__;
echo "<p>"."namespace";
echo __NAMESPACE__;

echo "<p>"."============================";
?>

<?php
echo "<p>";

class Base {
    public function sayHello() {
        echo 'Hello ';
    }
}

trait SayWorld {
    public function sayHello() {
        parent::sayHello();
        echo 'World!';
    }
}

class MyHelloWorld extends Base {
    use SayWorld;
}

$o = new MyHelloWorld();
$o->sayHello();
?>

<?php
echo "<p>"."this is test trait"."<p>";

class Based
{
    public function sayHellod() {
        echo "你好 ";
    }
}

trait  SayWorldD
{
    public function sayHellod() {
        parent::sayHellod();
        echo "世界!";
    }
}

class MyHelloWorldD extends Based
{
//    use SayWorldD;
}

$x = new MyHelloWorldD();
$x -> sayHellod();
?>
